package com.bbva.gptf.back.transformador;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Tgpt005BitaCarga;
import com.bbva.gptf.dto.bean.BitacoraCarga;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;

/**
 * @author Javier Estrella Rodriguez
 * @version 1.0
 * @created 07-ene-2013 18:56:31
 */
public class BitacoraCargaTransformador implements Converter<Tgpt005BitaCarga, BitacoraCarga>{

	@Autowired
	@Qualifier("locale_ES")
	private transient Locale localizacion;

	private I18nLog log = I18nLogFactory.getLogI18n(BitacoraCargaTransformador.class);
	
	@Autowired
	private UsuarioTransformador usuarioTransformador;
	@Autowired
	private EstatusCargaTransformador estatusCargaTransformador;
	@Autowired
	private FicheroTransformador ficheroTransformador;

	@Override
	public BitacoraCarga convert(Tgpt005BitaCarga source) {
		if(log.isTraceEnabled()) log.trace(localizacion, "entrada.metodo", "BitacoraCarga convert(Tgpt005BitacoraCarga source)");
		BitacoraCarga bitacoraCarga = new BitacoraCarga();
		bitacoraCarga.setCdCarga(source.getCdCarga());
		bitacoraCarga.setFichero(ficheroTransformador.convert(source.getCdFichero()));
		bitacoraCarga.setTpCarga(source.getTpCarga());
		bitacoraCarga.setFhCarga(source.getFhCarga());
		bitacoraCarga.setNbFichero(source.getNbFichero());
		bitacoraCarga.setNuRegistro(source.getNuRegistro());
		bitacoraCarga.setCdUsuario(source.getCdUsuario().getCdUsuario());
		bitacoraCarga.setEstatusCarga(estatusCargaTransformador.convert(source.getCdEstCarga()));
		bitacoraCarga.setTmUmo(source.getTmUmo());
		bitacoraCarga.setFhUmo(source.getFhUmo());
		bitacoraCarga.setCdUsuarioUmo(source.getCdUsuarioUmo());
		return bitacoraCarga;
	}
	
	public void setUsuarioTransformador(UsuarioTransformador usuarioTransformador) {
		this.usuarioTransformador = usuarioTransformador;
	}

	public void setEstatusCargaTransformador(
			EstatusCargaTransformador estatusCargaTransformador) {
		this.estatusCargaTransformador = estatusCargaTransformador;
	}

	public void setFicheroTransformador(FicheroTransformador ficheroTransformador) {
		this.ficheroTransformador = ficheroTransformador;
	}

	public void setLocalizacion(Locale localizacion) {
		this.localizacion = localizacion;
	}
}